iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
AI & Data

進入AI的世界系列 第 17

➤D-17 主要演算法-4(類推學派)

  • 分享至 

  • xImage
  •  

類推學派

類推學派(Analogical Reasoning)主要知識推理哲學,不是用貝氏推理的「概率」也不是符號學派的「因果關係」(Causal Relationship),而是用物件與物件間的「相似性」(Similarity)來做資訊分類與分群的判斷與分析,即「物以類聚」。

K鄰近演算法

  1. 多數決(Majority Vote)
    在KNN演算法中任何一個新物件的分類是由K個以之類別的「鄰居」來投票,並採取多數決來確定其分類。

  2. 相似度的算法(Calcilation of Similarity)
    KNN所謂的物件與物件相似度主要有兩種方法計算:

    • 歐基里德距離(Euclidean Distance):在多維空間內,兩點之間的直線距離。
    • 餘弦值(Cosine):兩個向量夾角,夾角愈小表示兩個向量相似度愈高,當Cosine夾角為0度時相似值為「1」,兩個向量重疊,有完全相同的特徵;當Cosine夾角為90度時相似度為「0」兩個向量完全無關,當要追求的相似度是比較「相對的」出現比重,而不是絕對的出現次數時,則會用Cosine值。
  3. 加權式的KNN(Weighted KNN)
    有時雖兩物件相似,但相似性程度會有所不同,因此不同距離的相似度不應該有相同的影響力,距離愈近的影響力應該愈大,因此加權式的KNN會依距離遠近給予不同的相似性權重。

  4. KNN主要應用

    • 推薦系統
    • 人臉與物件辨識
    • 文章分類
  5. KNN優點

    • 簡單性:KNN不用學習、不用法則、不用統計模型,只要在其訓練集中選出主要的特徵,並正確的標記樣本別即可,故被稱為懶惰學習法(LazyLearning)。
    • 穩健性(Robust):KNN正確率很高,除非原來輸入的樣本標示出問題,否則其預測的正確率很高。
    • 對數據不敏感:KNN可處理各種資料類型,包括文字、數據、圖像、聲音,都可以處理,要分類圖像只要找相似性最高的圖像,不向貝氏推理或決策樹很難處理圖像。
    • 不用許多樣本來建立模型:許多演算法都需要很大的樣本來訓練,而KNN僅需在資料庫中有幾個類似樣本就可以用來分辨新的物件。
    • 準確性:KNN如果樣本夠大,其準確性高,準確性不會輸貝氏推理法。
    • 增量式的學習(Incremental Learning):KNN對於新數據可以直接加入數據來及時更新調整,又稱為線上式學習(Online Learning),不像是離線式(Offline Learning)的批量學習法(Batch Learning),有新的數據時要從頭開始訓練。
  6. KNN的限制與缺點

    • 維度的詛咒(Curse of Dimension, COD)
    • 計算量大速度慢
    • 樣本不平均問題
    • 需要大量的儲存空間
    • K值的選擇沒有理論依據

支持向量機(Support Vector Machine, SVM)

  1. SVM基本概念
    主要目的是找到一條最具「區分立」且「寬度最寬」的「國境線」來精確地劃分兩個國家的國民。
    ①離兩邊邊界距離最大、寬度最寬:不同類別可以劃出許多不同的分類線,例如在A線和B線兩條國界線的中間,其離雙邊距離(幾何間隙)最大,於AB兩條線的「分類間隙」最大,因為「間隙愈大」愈容易安全的區分兩類物件,不容易互相越界,混淆不清楚產生誤判。
    ②支持向量(Support Vector, SV)基本概念:「支持劃出」國界線的特定樣本(向量),亦即能用來定義分界線(A線、B線)的樣本。

  2. SVM建構步驟
    ①特徵選擇:透過特徵工程找出最重要、最相關的物件特徵。
    ②尋找SVM線:利用標註好「信用好」與「信用壞」樣本來訓練SVM,將其不斷調整SVM各個參數來平行移動分界線或調整分較線的斜率。
    ③驗證SVM線:找到最寬的分界線後,檢查SVM的準確度。
    ④優化調整SVM:若效能不好,則更換不同的特徵組合或增加更多的特徵變數,提高特徵維度,直到準確率達到我們的標準為止。

  3. SVM核函數
    並非所有問題都可用線性的SVM來分類,SVM之所以能夠廣泛普遍的應用就是因為它可以利用所謂的核函數(Kernel Function, KF)來處理各種非線性問題。
    核函數:當不同類別的分割無法在原來空間上,用線性SVM來隔開時,SVM可以利用非線性投影或更高維度的函數轉換方式來將資料增加維度,將其轉換到更高維度的特徵空間中來進行分割。
    ①低維度資料轉換高維度資料。
    ②將線性不可分的問題轉換為非線性可分的問題。

  4. SVM優點
    ①樣本量需求不高:SVM只靠少數的SV來分割平面,不需要大量非SV的樣本來計算,因此其在小樣本中的表現比其他演算法的表現好。
    ②可以處理高維度的樣本。
    ③穩定性高。
    ④比較少有過度擬合(Overfitting)的問題。

  5. SVM缺點
    ①訓練時間長。
    ②解釋性問題:利用核函數來轉換問題的空間,轉換以後解釋能力較弱,較難說明主要影響變數。
    ③較適用於二分類問題:對多分類問題需要透過較複雜的轉換,較為麻煩與困難。


SVM綜合點整理

SVM☞

  • 特點
    • 找出最靠近敵國的要塞據點。
    • 再找出兩國之間最寬的停戰線。
    • 劃出離雙方最遠的SVM線。
  • 優點
    • 當二維一線性不能分割時,用各種KF提升維度/多項式,使其容易分割。
  • 核函數
    • 簡單強大、通用性大、可處理小樣本、多維度問題、不怕異常值、不大會過度擬合(Overfitting)。
  • 缺點
    • 訓練時間長、高維度解釋性弱、較不適合多分類。

參考資料
人工智慧-概念應用與管理 林東清著


上一篇
➤D-16 主要演算法-3(馬可夫鏈與隱藏馬可夫鏈)
下一篇
➤D-18 主要演算法-5(符號學派)
系列文
進入AI的世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言